package com.lagou.service;

import com.lagou.pojo.AuthToken;
import com.lagou.pojo.AuthUser;
import com.lagou.vo.Result;

/**
 * @ClassName: UserService
 * @Auther: Jerry
 * @Date: 2020/10/22 17:19
 * @Desctiption: UserService接口
 * @Version: 1.0
 */
public interface UserService {

    /**
     * 注册接口，true成功，false失败
     * @param email 电子邮件
     * @param password 密码
     * @param code 代码
     * @return {@link Boolean}
     */
    Boolean register(String email, String password, String code);

    /**
     * 是否已注册，根据邮箱判断,true代表已经注册过,false代表尚未注册
     * @param email 电子邮件
     * @return {@link Boolean}
     */
    Boolean isRegistered(String email);

    /**
     * 登录接口，验证用户名密码合法性
     * 根据用户名和密码生成token，token存入数据库，并写入cookie中
     * 登录成功返回邮箱地址，重定向到欢迎页
     * @param email 电子邮件
     * @param password 密码
     */
    Result<AuthToken> login(String email, String password);

    /**
     * 根据token查询用户登录邮箱接口
     * @param token 令牌
     */
    Result<AuthToken> info(String token);
}
